package sim.utils.rndGen;

public abstract class RandomGenerator {
	
	protected long seed;
	protected double lastRandom;
	
    private static volatile long seedUniquifier = 8682522807148012L;
		
	public RandomGenerator(){
		this(RandomGenerator.generateAutoSeed());
	}
	
	public RandomGenerator(long seed){
		this.seed = seed;
		
	}
	
	protected static long generateAutoSeed(){
		//return System.nanoTime();
		//return System.currentTimeMillis();
		return (++seedUniquifier + System.nanoTime());
	}
	
	public abstract double next();
	
}